package com.example.clxy.dao;

import com.example.clxy.entity.Experiment;
import com.example.clxy.entity.dto.ExperimentDto;
import com.example.clxy.result.business.ExperimentResult;
import com.example.clxy.result.business.PageResult.ExperimentPageResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ExperimentMapper {
    int deleteByPrimaryKey(String experimentid);

    int insert(Experiment record);

    int insertSelective(Experiment record);

    Experiment selectByPrimaryKey(String experimentid);

    int updateByPrimaryKeySelective(Experiment record);

    int updateByPrimaryKey(Experiment record);

    List<ExperimentPageResult> getExperimentList(@Param("experimentname") String experimentname,
                                                 @Param("experimenthour") String experimenthour,
                                                 @Param("begin") int begin,
                                                 @Param("end") int end,
                                                 @Param("pagesize") int pagesize);

    int deleteExperiment(String experimentid);

    ExperimentResult getExperimentById(String experimentid);

    String[] getAllExperimentName();

    void insertExperimentMutiCourse(ExperimentDto experimentDto);

    void deleteExperimentMutiCourse(String experimentid);

    List<ExperimentPageResult> getExperimentListSimple(@Param("experimentname") String experimentname,
                                                 @Param("experimenthour") String experimenthour,
                                                 @Param("begin") int begin,
                                                 @Param("end") int end,
                                                 @Param("pagesize") int pagesize);
}